1. Field of the Invention
The present invention relates to an image reading apparatus for reading an image on a document, an image forming apparatus incorporating the image reading apparatus, an image reading control method therefor, and a program implementing the method.
2. Description of the Related Art
A copying machine includes an image reading apparatus and a printer apparatus. Compared to the printer apparatus, the image reading apparatus has a relatively simple structure that does not require intricate control. Therefore, its configuration can be implemented on a single control substrate.
Examples of the image reading apparatus includes one that reads a fixedly placed document, one that reads a conveyed document at a fixed reading position, and one that allows reading documents in a mode selected from the fixed-document reading and the conveyed-document reading. The fixed-document reading involves placing a document on a platen glass and fixing the document with a pressing plate, then moving a reader that includes a line image sensor, such as a CCD, across the document to read an image on the document. The conveyed-document reading uses an automatic document feeder (ADF). Specifically, the ADF conveys documents one by one through a reading position on a platen glass. When each document passes through the reading position, a reader fixed at the reading position reads an image on the document.
Besides image reading apparatus that have the ADF as standard equipment, there are image reading apparatuses that have the pressing plate as standard equipment and may optionally have the ADF.
For image reading apparatus that employ the fixed-document reading, the control specifications for controlling the mechanical operations other than image processing do not vary widely among apparatus models, although the driving speed of the reader (the image reading speed) may be higher or lower depending on each model.
On the other hand, for image reading apparatus that employ the conveyed-document reading, the ADF has a mechanical structure for implementing intricate paper conveyance. Therefore, in order to enable high-speed document conveyance, the ADF mounted on a high-speed apparatus for high-speed image reading has many stepping motors that function as driving forces for document conveyance, compared to a low-speed apparatus for low-speed image reading. In addition, since the high-speed apparatus requires higher accuracy in controlling the timing of document conveyance than the low-speed apparatus, more devices such as document position detecting sensors are provided therein.
Thus, since the ADF mounted on the low-speed apparatus has fewer stepping motors and devices such as sensors, a control section controlling the main unit of the low-speed apparatus can control the driving of the stepping motors in the ADF while monitoring output of the devices such as sensors in the ADF. That is, the control section controlling the main unit of the low-speed apparatus can directly control the ADF.
On the other hand, controlling the ADF mounted on the high-speed apparatus imposes a heavy control load. This makes it difficult for a control section to control the main unit of the high-speed apparatus for directly controlling the ADF. Therefore, the ADF mounted on the high-speed apparatus includes a control section for controlling the ADF. The control section of the ADF and the control section of the high-speed apparatus communicate with each other to perform control, such as coordinating respective operation timing.
Now, an image reading apparatus that has the above pressing plate as standard equipment and may optionally have an ADF will be described with reference to FIGS. 18 and 19. FIG. 18 is a longitudinal sectional view schematically showing the configuration of a conventional image reading apparatus with a pressing plate mounted thereon.
In FIG. 18, the image reading apparatus 1R′ employs the fixed-document reading in which a pressing plate 1213 is mounted on the top of the apparatus. The image reading apparatus 1R′ has a document-illuminating lamp 1201 for illuminating a document 1204 placed on a platen glass 1203, and mirrors 1205, 1206, and 1207 for guiding a reflected light from the illuminated document 1204 to a lens 1208. The light that has passed through the lens 1208 forms an image on a color CCD 1209, which converts the formed optical image into an electric signal and outputs it.
The document-illuminating lamp 1201 and the mirror 1205 are included in a reader 1210, which is designed to shuttle in the directions A and B indicated by arrows in FIG. 18. When the reader 1210 is moved in the direction A or B, the mirrors 1206 and 1207 are moved in unison in the direction A or B so that the distance from the document plane to the color CCD 1209 (the optical path length) is kept constant.
Provided at the front of the platen glass 1203 are a shading correcting board 1211, as well as a conveyed-document reading position window 1212 for reading a document image in the case where the image reading apparatus 1R′ employs the conveyed-document reading, as will be described in FIG. 19. A pressing plate 1213 for pressing the document placed on the platen glass 1203 is provided over the platen glass 1203.
When a document is going to be read on the image reading apparatus 1R′, an operator first opens the pressing plate 1213 and places the document on the platen glass 1203. The operator then closes the pressing plate 1213 and presses a start key to indicate the start of copying. This causes the image reading apparatus 1R′ to start its reading operation. In this reading operation, the reader 1210 is first moved in the direction B from the position shown in FIG. 18 (referred to as a “home position” hereafter) and stopped at a position for reading the shading correcting board 1211.
Next, the document-illuminating lamp 1201 is lit to illuminate the shading correcting board 1211. The reflected light from the shading correcting board 1211 is guided via the mirrors 1205, 1206, and 1207 and the lens 1208 to the color CCD 1209, which reads the shading correcting board 1211. Based on output of the color CCD 1209 resulting from this reading, a shading correction is performed. This shading correction corrects variations in the illumination of the document-illuminating lamp 1201, a light fall-off at the edges of the lens 1208, and pixel-by-pixel variations in the sensitivity of the color CCD 1209. Thus, unevenness in reading the document image is corrected.
On completion of the shading correction, the reader 1210 is further moved in the direction B and stopped at the position directly under the conveyed-document reading window 1212 (referred to as a “reading start position” hereafter). The reader 1210 is moved from this position in the direction A with gradually increasing speed. On reaching a position corresponding to the leading end of the document 1204 on the platen glass 1203, the reader 1210 is moved from that position at a predetermined constant speed. While the reader 1210 is being moved at the constant speed, the color CCD 1209 captures the reflected light from the document 1204 to read the image on the document 1204.
When the reader 1210 reaches a position corresponding to the trailing end of the document 1204, the reader 1210 is stopped at that position and then moved in the direction B to the home position. The reader 1210 waits at the home position for reading the next document.
Now, the image reading apparatus 1R′ of FIG. 18 having an ADF instead of the pressing plate 1213 will be described with reference to FIG. 19. FIG. 19 is a longitudinal sectional view schematically showing the configuration of the image reading apparatus 1R′ of FIG. 18 with an ADF mounted thereon.
In FIG. 19, the image reading apparatus 1R′ employs the conveyed-document reading in which an ADF 1300 is mounted in place of the pressing plate 1213. The ADF 1300 has a document holding tray 1301 that holds documents thereon. The documents on the document holding tray 1301 are fed one by one via paper feed rollers 1302 and 1303. Each document fed via the paper feed rollers 1302 and 1303 is conveyed by a conveying roller 1305 through a conveyed-document reading position (the position directly over the conveyed-document reading window 1212) with a guide of guides 1304, 1307, and 1306. The document is discharged on a discharge tray 1308.
When a plurality of documents are going to be read on this image reading apparatus 1R′, the documents are put on the document holding tray 1301 of the ADF 1300 and the start key is pressed. Once the reading operation is started, the shading correcting board 1211 is first read as described above to perform the shading correction. After the shading correction, the reader 1210 is moved to the above-mentioned reading start position and stopped.
The ADF 1300 then starts feeding the documents. The fed documents pass through the conveyed-document reading position and are discharged on the discharge tray 1308. When each documents passes through the conveyed-document reading position, the reflected light from the document is guided via the mirrors 1205, 1206, and 1207 and the lens 1208 to the color CCD 1209, which reads the image on the document.
Now, the configuration of the image reading apparatus 1R′ of FIG. 19 as a low-speed apparatus will be described with reference to FIG. 20. FIG. 20 is a block diagram showing an example of the configuration of the image reading apparatus 1R′ of FIG. 19.
In FIG. 20, the image reading apparatus 1R′ has a control substrate 1517. The control substrate 1517 includes a CPU 1501, a ROM 1502, a RAM 1503, and an image processing ASIC 1505, which are connected with each other via a system bus 1504. The CPU 1501 reads a program stored in the ROM 1502 and controls the system according to the read program by using the RAM 1503 as a working area. As required, the CPU 1501 also sets data for a register provided in the image processing ASIC 1505, and reads and writes the content of memory provided in the image processing ASIC 1505.
A CCD substrate 1514 with a color CCD 1209 for reading a document image is connected to the image processing ASIC 1505. Image data from the CCD substrate (color CCD 1209) 1514 is input to the image processing ASIC 1505, which then performs predetermined image processing on the input image data. The image data subjected to the image processing is sent to the printer apparatus (not shown) via an I/F circuit 1516.
A motor driver (M-DRV) 1506 on the control substrate 1517 is connected to the CPU 1501. The CPU 1501 sends to the motor driver 1506 frequency clocks corresponding to a rotation speed required for an optical motor 1507. The motor driver 1506 generates driving pulses according to the frequency clocks from the CPU 1501 and outputs the driving pulses to the optical motor 1507 for driving the reader 1210 shown in FIG. 19. According to the driving pulses, the optical motor 1507 is rotationally driven to move the reader 1210 to a desired position and to stop the reader 1210.
An inverter (INV) 1508 is also connected to the CPU 1501. The inverter 1508 lights the document-illuminating lamp 1201 when an ON signal is input from the CPU 1501. The lighting of the document-illuminating lamp 1201 is synchronized with the image reading by the image reading apparatus 1R′, i.e., the activation of the optical motor 1507.
A home position sensor 1510 is also connected to the CPU 1501. The CPU 1501 detects whether or not the reader 1210 is at the home position based on a signal from the home position sensor 1510.
Document size detection sensors 1511a, 1511b are also connected to the CPU 1501. When the fixed-document reading is employed, the CPU 1501 detects the size of a document placed on the platen glass 1203 based on signals from the document size detection sensors 1511a, 1511b. 
The ADF 1300 is also connected to the CPU 1501 via an I/F circuit 1512. The ADF 1300 includes a paper feed motor 1518 that drives the paper feed rollers 1302 and 1303 for feeding a document, and a leading motor 1519 that drives the conveying roller 1305 for conveying the document to the conveyed-document reading position. The paper feed motor 1518 and the leading motor 1519 are driven by corresponding motor drivers (not shown) respectively. These motor drivers are included in the ADF 1300. Furthermore, to correct the skew of the conveyed document, the ADF 1300 includes a registration sensor 1520 for detecting that the leading end of the document is at a registration position, a leading sensor 1521 for detecting that the conveyed document is at the conveyed-document reading position, and a discharge sensor 1522 for detecting that the conveyed document is at a discharge position. Output of these sensors 1520, 1521, and 1522 are input to the CPU 1501, which then provides the driving timing for conveying the document and detects jamming in the ADF 1300 based on the received output of the sensors 1520, 1521 and 1522.
Thus, the CPU 1501 controls the optical motor 1507 in the image reading apparatus 1R′, and also controls the two motors 1518 and 1519 in the ADF 1300 while monitoring the output of the sensors 1520, 1521, 1522.
The driving of the optical motor 1507 in the image reading apparatus 1R′ having the above configuration will be described with reference to FIG. 21. FIG. 21 is a timing chart showing a driving profile for the optical motor 1507 in the image reading apparatus 1R′ of FIG. 20.
Here, the driving profile for the optical motor 1507 will be described for the case where the maximum reduction ratio required in the image reading apparatus 1R′ is 50% and the document is read without using the ADF 1300, i.e., in the fixed-document reading mode. In FIG. 21, the horizontal axis indicates time and the vertical axis indicates the driving speed of the reader 1210.
As shown in FIG. 21, the optical motor 1507 is activated at the time t0, and the reader 1210 at the reading start position (the position directly under the conveyed-document reading window 1212 in FIG. 18) starts moving at the speed of 7 mm/s. The optical motor 1507 is driven so that the reader 1210 is accelerated at the acceleration α until the time t1, at which point the speed reaches 200 mm/s, i.e., the reading speed for the reduction ratio of 50%. At this point, the reader 1210 has reached the position directly under the leading end of the document 1204. Then, the reading of the document 1204 is started from this position, and the optical motor 1507 is driven so that the reader 1210 is moved at the reading speed of 200 mm/s. Thus, the reader 1210 is moved at the constant speed during the reading of the document 1204.
On completion of the reading of the document 1204 at the time t2, i.e., when the reader 1210 is at the position directly under the trailing end of the document 1204, the optical motor 1507 is driven so that the reader 1210 is decelerated at the deceleration β until the time t3, at which point the speed reaches 7 mm/s. The optical motor 1507 is stopped at the time t3.
The optical motor 1507 is kept at a stop until the time t4, at which point it is driven to move the reader 1210 in the direction opposite to the reading direction at the speed of 7 mm/s. The optical motor 1507 is then driven so that the reader 1210 is accelerated at the acceleration α until the time t5, at which point the speed reaches 200 mm/s. The reader 1210 is moved at the speed of 200 mm/s during the period from the time t5 to the time t6, at which point the reader 1210 begins to be decelerated at the deceleration β. When the speed of the reader 1210 reaches 7 mm/s at the time t7, the optical motor 1507 is stopped. At this point, the reader 1210 is at the reading start position. In order for the reader 1210 to stop at the reading start position at the time t7, the number of motor clocks sent during the period from the time t0 to the time t3 and the period from the time t4 to the time t7 are set to be equal.
Next, the reader 1210 is then returned to the home position according to a home position return sequence.
FIGS. 22A, 22B are diagrams useful in explaining the generation of the motor clocks for the motor driver 1506 by the CPU 1501 in FIG. 20. FIG. 22A is a block diagram showing the configuration of the CPU 1501 and its periphery. FIG. 22B is a diagram showing a speed table for the acceleration interval from the time t0 to the time t1 in FIG. 21.
As shown in FIG. 22A, the CPU 1501 reads driving data stored in the ROM 1502 (S1) and deploys the speed table shown in FIG. 22B on the RAM 1503 as data indicating clock cycles per clock (S2). The CPU 1501 sequentially reads the cycle for each clock from the speed table deployed on the RAM 1503 (S3) and generates the motor clocks.
The above-mentioned driving data includes parameters, for example, for cycle data corresponding to the speed at the start of acceleration and the end of deceleration at the times t0, t3, t4, and t7, and data corresponding to the reading speed and the back scan speed at the times t1, t5 in FIG. 21. Since the acceleration interval, i.e., the distance that the reader 1210 moves during the period from the time t0 to the time t1 in FIG. 21 is determined from the structure of the image reading apparatus 1R′, the number of motor clocks sent during the period from the time t0 to the time t1 is uniquely determined based on the moving distance. Assuming that the acceleration interval is 30 mm and the moving distance per clock is 0.2 mm, the number of clocks is 150 regardless of the frequency.
The speed table stored in the RAM 1503 is structured as shown in FIG. 22B. It is noted that FIG. 22B shows only data on the speed table from the time t0 to the time t1. For example, on activation of the optical motor 1507, the CPU 1501 first reads data (12000d) for the address 0000h. The CPU 1501 counts the system clocks that are input from an oscillator 1701, and when the count value reaches 12000, the CPU 1501 outputs a motor clock from a port P of the CPU 1501. The output motor clock is input to the motor driver 1506 and also to an interruption terminal INT of the CPU 1501. On receiving the input interruption, the CPU 1501 reads data (11500d) for the address 0001h on the speed table, and when the count value reaches 11500, the CPU 1501 generates a motor clock. In this manner, the CPU 1501 sequentially reads data on the speed table and generates a corresponding motor clock. The motor driver 1506 drives the optical motor 1507 based on the motor clocks so that the reader 1210 is moved with gradually increasing speed.
When the CPU 1501 reads data (30d) for the address 0150h and the count value reaches 30, the reader 1210 has moved the distance of 30 mm. From this position, the reader 1210 moves at the constant speed of 200 mm/s as shown in FIG. 21, and the reading of the document is started. The count value 30 here indicates the processing for moving the reader 1210 at the speed of 200 mm/s.
For example, if the constant speed interval corresponds to the size A3 (the moving distance of the reader 1210 is 420 mm) and the deceleration interval is 20 mm, the total moving distance of the reader 1210 is 470 mm. This requires a speed table that consists of 2100 data items.
The control over the reader 1210 during deceleration will not be described because it is performed in a manner similar to the control during acceleration.
Now, the control of the CPU 1501 over the ADF 1300 will be described for the case where the image reading apparatus 1R′ has the ADF 1300 (FIG. 20).
The ADF 1300 is driven and controlled by the CPU 1501. While the ADF 1300 includes the paper feed motor 1518 and the leading motor 1519, there are no significant differences between the control of the CPU 1501 over these motors 1518 and 1519 and that over the optical motor 1517. Therefore, since the position of the reader 1210 is fixed when the ADF 1300 is used to perform the conveyed-document reading, the load of controlling the optical motor 1507 is very light, and the main control load on the CPU 1501 is the load of controlling the motors 1518 and 1519 in the ADF 1300. That is, the control load imposed on the CPU 1501 in the conveyed-document reading corresponds to the two motors.
This kind of control technique has been commonly known, and there is a printer apparatus to which this control technique is applied (see Japanese Patent Laid-Open No. H05-104808). The configuration of this printer apparatus will be described with reference to FIG. 23. FIG. 23 is a block diagram showing the configuration of a conventional printer apparatus. Here, an ink-jet printer apparatus will be described.
In FIG. 23, the printer apparatus 2300 is an ink-jet printer and includes a CPU 1, a RAM 2, a ROM 3, and a motor control section 10. Based on motor control data from the CPU 1, the motor control section 10 generates pulse width data for a carriage motor (X motor) for moving a carriage, pulse width data for a head motor (RH motor) for pressing down a print head, and pulse width data for a feed motor (Y motor) for feeding a paper to the print head. These pulse width data is output to a motor driver 6. The motor driver 6 drives the carriage motor (X motor), the head motor (RH motor), and the feed motor (Y motor) based on the respective pulse width data.
When a timer causes an interruption, the CPU 1 generates the motor control data based on data stored on the RAM 2. The generated motor control data is provided to the motor control section 10. Thus, there are no significant differences between the configuration for the motors of the ink-jet printer apparatus 2300 and the configuration for the motors of the image reading apparatus 1R′.
Now, the configuration of the image reading apparatus 1R′ of FIG. 19 as a high-speed apparatus will be described with reference to FIG. 24. FIG. 24 is a block diagram showing another example of the configuration of the image reading apparatus 1R′ of FIG. 19. FIG. 25 is a timing chart showing a driving profile for the reader 1210 in the image reading apparatus 1R′ of FIG. 24.
In FIG. 24, functional blocks or members corresponding to those shown in FIG. 20 are designated by identical numerals.
In FIG. 24, in order to read the image at a high speed, the image reading apparatus 1R′ differs from the exemplary image reading apparatus 1R′ shown in FIG. 21, in that a different speed table is used for controlling the optical motor 1507, the ADF 1300 further has components such as a CPU 1803, and a slave CPU 1801 is inserted between the CPU 1501 and the interface circuit 1512 to the ADF 1300.
The speed table for the optical motor 1507 is plotted as shown in FIG. 25. Since the image reading apparatus 1R′ is a high-speed apparatus, the acceleration α2 of the reader 1210 from the time t0 to the time t1 is higher than the acceleration α of the reader 1210 for the low-speed image reading apparatus 1R′ (shown in FIG. 21). Similarly, the deceleration β2 is higher than the deceleration β (shown in FIG. 21). The reader 1210 is therefore driven at the speed of 400 mm/s, which is twice the speed of 200 mm/s of the reader 1210 for the image reading apparatus 1R′ in FIG. 21.
However, since both of the image reading apparatus shown in FIGS. 21, 24 use the same optical frame (a frame that holds the platen glass and so forth), they have the same acceleration interval of 30 mm and deceleration interval of 20 mm.
In addition to the paper feed motor 1518 and the leading motor 1519, the ADF 1300 mounted on the image reading apparatus 1R′ of FIG. 24 includes additional motors for conveying documents at a high speed. These are a separating motor 1804 for separating a plurality of documents apart, and a spacing motor 1805 for suppressing a deviation of a document by nipping the conveyed document as needed. These four motors 1518, 1519, 1804, and 1805 provide conveyance of documents. A separation sensor 1806 that detects a separated document is also added for the necessity of closely monitoring the behavior of documents being conveyed.
In this type of ADF 1300, control over the motors 1518, 1519, 1804, 1805 is performed by the CPU 1803. This eliminates the necessity for the CPU 1501 on the image reading apparatus 1R′ to directly control the ADF 1300. To keep track of the control performed by the slave CPU 1801 and the CPU 1501, a slave CPU 1802 is provided. The slave CPU 1802 transfers to the CPU 1803 control commands received from the CPU 1501 via the slave CPU 1801. According to the received control commands, the CPU 1803 controls the driving of the motors 1518, 1519, 1804, 1805 while monitoring output of the sensors 1521, 1522, 1523, 1806. The control status of the CPU 1803 is also transmitted to the CPU 1501 via the slave CPUs 1802, 1801.
Thus, for the ADF 1300, the CPU 1501 on the image reading apparatus 1R′ of FIG. 24 only needs to communicate with the slave CPU 1801 but need not to send the motor clocks as in the case of the image reading apparatus 1R′ of FIG. 21. Therefore, an increased control load is not imposed by the ADF 1300.
However, in the conventional image reading apparatus 1R′, the control means consists in the single control substrate 1517 as described above. This requires designing a new control substrate 1517 for each development of a product, thereby increasing the effort for designing the control substrate 1517. With regard to control software, the control software is often shared among different apparatus models because great part of it is based on design specifications common to different apparatus models. Therefore, software components for only differences, such as the driving speed of the reader 1210 and the control of the image processing ASIC 1505, may be newly created. However, even such a software program with much common part is treated as a different program for each apparatus model, and is therefore developed and created for each apparatus model. This increases the effort for developing the software.
Moreover, since the control specifications of the ADF 1300 is different between the low-speed image reading apparatus 1R′ and the high-speed image reading apparatus 1R′, the control specifications must be designed individually. This results in an increased cost of developing a new apparatus model and an extra development period.